Multi-device storage systems utilize multiple discrete storage devices, generally disk drives (solid-state drives, hard disk drives, hybrid drives, tape drives, etc.) for storing large quantities of data. These multi-device storage systems are generally arranged in an array of drives interconnected by a common communication fabric and, in many cases, controlled by a storage controller, redundant array of independent disks (RAID) controller, or general controller, for coordinating storage and system activities across the array of drives. The data stored in the array may be stored according to a defined RAID level, a combination of RAID schemas, or other configurations for providing desired data redundancy, performance, and capacity utilization. In general, these data storage configurations may involve some combination of redundant copies (mirroring), data striping, and/or parity (calculation and storage), and may incorporate other data management, error correction, and data recovery processes, sometimes specific to the type of disk drives being used (e.g., solid-state drives versus hard disk drives).
Some multi-device storage systems employ storage devices capable of communicating with one another over the interconnecting fabric. In some cases, these storage devices may be capable of peer-to-peer communication without the involvement of a storage control plane, such as a storage controller or host controller, as an intermediary. These peer storage devices may be capable of exchanging messages and/or transferring host data across the interconnecting fabric independent of the storage control plane. Reducing communication, data transfer, processing, and/or data management at the storage control plane may reduce bottlenecks and improve scalability as the number and capacity of storage devices increases.
Enabling peer-to-peer communication and data operations that may be executed independent of the storage control plane may create challenges for management of data storage systems. For example, peer storage devices may operate across racks, administrative domains, and/or physical sites and may include operations that require substantial time to complete. It is possible these operations may support data protection, data rebuilds, or other business critical functions that are unknown to the administrator of a particular storage system or device and sudden interruption (such as the power cycling or physical removal of a peer storage device) may create unintended problems elsewhere.
Therefore, there still exists a need for storage architectures that enable peer-to-peer communication for data management offloading from the storage control plane that assists storage system administrators in managing peer operations.